hackerrank recursion